Cleanup some translation handling
authorMatthias Clasen <mclasen@redhat.com>
Mon, 15 Jun 2009 22:04:49 +0000 (18:04 -0400)
committerMatthias Clasen <mclasen@redhat.com>
Mon, 15 Jun 2009 22:25:04 +0000 (18:25 -0400)
Use g_*gettext functions in gdk-pixbuf instead direct gettext
calls to benefit from the maybe-dont-translate functionality
in GLib. Also, replace a hand-rolled version by g_dpgettext2
in gtkbuilderparser.c. Fixes bug 585791.

gdk-pixbuf/gdk-pixbuf-io.c
gdk-pixbuf/gdk-pixdata.c
gdk/x11/gdkapplaunchcontext-x11.c
gtk/gtkbuilderparser.c
po/Makefile.in.in

index abb920359e3873feb914737b018c33a87ecb6826..b5036c8bc5db51073f5996a66ee432b0f1149197 100644 (file)
@@ -2459,7 +2459,7 @@ gdk_pixbuf_format_get_description (GdkPixbufFormat *format)
                domain = format->domain;
        else 
                domain = GETTEXT_PACKAGE;
-       description = dgettext (domain, format->description);
+       description = g_dgettext (domain, format->description);
 
        return g_strdup (description);
 }
index e9cdf8f8504aa0d5ef7a1a8c01090cec60fab6e0..ed60ab569e483c6930c95a3720e8d83d69571113 100644 (file)
@@ -428,9 +428,10 @@ gdk_pixbuf_from_pixdata (const GdkPixdata *pixdata,
        {
          g_set_error (error, GDK_PIXBUF_ERROR,
                       GDK_PIXBUF_ERROR_INSUFFICIENT_MEMORY,
-                      ngettext("failed to allocate image buffer of %u byte",
-                               "failed to allocate image buffer of %u bytes",
-                               pixdata->rowstride * pixdata->height),
+                      g_dngettext(GETTEXT_PACKAGE,
+                                  "failed to allocate image buffer of %u byte",
+                                  "failed to allocate image buffer of %u bytes",
+                                  pixdata->rowstride * pixdata->height),
                       pixdata->rowstride * pixdata->height);
          return NULL;
        }
index 106fcf55630ba380dbf76ac1bf3504580c0d4e38..3dace4aa5cd4a6b27e79367d37991083f1e93258 100644 (file)
@@ -312,10 +312,10 @@ _gdk_windowing_get_startup_notify_id (GAppLaunchContext *context,
   else if (files_count == 1)
     description = g_strdup_printf (_("Opening %s"), get_display_name (files->data));
   else
-    description = g_strdup_printf (dngettext (GETTEXT_PACKAGE,
-                                             "Opening %d Item",
-                                             "Opening %d Items",
-                                             files_count), files_count);
+    description = g_strdup_printf (g_dngettext (GETTEXT_PACKAGE,
+                                               "Opening %d Item",
+                                               "Opening %d Items",
+                                               files_count), files_count);
 
   icon_name = NULL;
   if (priv->icon_name)
index c5cb2d89388eccba21af509d64991a3b427c5843..f6f12a5bf6c0d9aca98f212dfa272c5c00eee385 100644 (file)
@@ -893,40 +893,6 @@ start_element (GMarkupParseContext *context,
                   element_name);
 }
 
-/* This function is taken from gettext.h 
- * GNU gettext uses '\004' to separate context and msgid in .mo files.
- */
-static const char *
-_dpgettext (const char *domain,
-            const char *msgctxt,
-            const char *msgid)
-{
-  size_t msgctxt_len = strlen (msgctxt) + 1;
-  size_t msgid_len = strlen (msgid) + 1;
-  const char *translation;
-  char* msg_ctxt_id;
-
-  msg_ctxt_id = g_alloca (msgctxt_len + msgid_len);
-  
-  memcpy (msg_ctxt_id, msgctxt, msgctxt_len - 1);
-  msg_ctxt_id[msgctxt_len - 1] = '\004';
-  memcpy (msg_ctxt_id + msgctxt_len, msgid, msgid_len);
-
-  translation = g_dgettext (domain, msg_ctxt_id);
-
-  if (translation == msg_ctxt_id) 
-    {
-      /* try the old way of doing message contexts, too */
-      msg_ctxt_id[msgctxt_len - 1] = '|';
-      translation = g_dgettext (domain, msg_ctxt_id);
-  
-      if (translation == msg_ctxt_id)
-        return msgid;
-    }
-  return translation;
-}
-
 gchar *
 _gtk_builder_parser_translate (const gchar *domain,
                               const gchar *context,
@@ -935,7 +901,7 @@ _gtk_builder_parser_translate (const gchar *domain,
   const char *s;
 
   if (context)
-    s = _dpgettext (domain, context, text);
+    s = g_dpgettext2 (domain, context, text);
   else
     s = g_dgettext (domain, text);
 
index 28a3d40231e13ac2590e9caba3a2b1d5369f1a68..2a65416b6f04e1867482932591567a6fa228dc80 100644 (file)
@@ -93,6 +93,8 @@ all-no:
 $(srcdir)/$(GETTEXT_PACKAGE).pot: $(POTFILES)
        $(XGETTEXT) --default-domain=$(GETTEXT_PACKAGE) --directory=$(top_srcdir) \
          --add-comments --keyword=_ --keyword=N_ --keyword=C_:1c,2 --keyword=NC_:1c,2 \
+         --keyword=g_dngettext:2,3 \
+         --flag=g_dngettext:2:pass-c-format \
           --flag=g_strdup_printf:1:c-format \
           --flag=g_string_printf:2:c-format \
           --flag=g_string_append_printf:2:c-format \